import { CommandTask } from "./base"
import Insert from "../insert";

@Insert
export class CommandTaskGiveUp extends CommandTask {
    constructor() {
        super()
        this.name = "放弃任务"
        this.detail = "任务[$任务$,放弃任务]"
        this.insert = "任务[${1:任务},放弃任务]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskNavigation extends CommandTask {
    constructor() {
        super()
        this.name = "任务导标"
        this.tags.push("导标", "传送", "飞")
        this.detail = "任务[$任务$,导标]"
        this.insert = "任务[${1:任务},导标]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskTargetShopBuy extends CommandTask {
    constructor() {
        super()
        this.name = "任务指定商店购买"
        this.tags.push("商店", "指定商店", "购买")
        this.detail = "任务[$任务$,商店购买,需要物品,$商店名$,$价格$]"
        this.insert = "任务[${1:任务},商店购买,需要物品,${2:商店名},${3:价格}]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskShopBuy extends CommandTask {
    constructor() {
        super()
        this.name = "任务商店购买"
        this.tags.push("商店", "购买")
        this.detail = "任务[$任务$,商店购买,需要物品,$价格$]"
        this.insert = "任务[${1:任务},商店购买,需要物品,${2:价格}]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskSearchShopBuy extends CommandTask {
    constructor() {
        super()
        this.name = "任务搜索商店购买"
        this.tags.push("商店", "搜索", "购买")
        this.detail = "任务[$任务$,商店搜索购买,需要物品,$价格$]"
        this.insert = "任务[${1:任务},商店搜索购买,需要物品,${2:价格}]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskSharmacyBuy extends CommandTask {
    constructor() {
        super()
        this.name = "任务搜索商店购买"
        this.tags.push("商店", "药店", "购买")
        this.detail = "任务[$任务$,药店购买,需要物品,$价格$]"
        this.insert = "任务[${1:任务},药店购买,需要物品,${2:价格}]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskSchool extends CommandTask {
    constructor() {
        super()
        this.name = "师门任务使用物资"
        this.tags.push("物资", "师门物资", "完成")
        this.detail = "任务[$任务$,完成任务,师门物资]"
        this.insert = "任务[${1:任务},完成任务,师门物资]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskSchoolMaterials extends CommandTask {
    constructor() {
        super()
        this.name = "使用师门物资"
        this.tags.push("物资", "师门物资", "完成")
        this.detail = "任务[使用师门物资]"
        this.insert = "任务[使用师门物资]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskGivePet extends CommandTask {
    constructor() {
        super()
        this.name = "任务给予宠物"
        this.tags.push("宠物", "给予", "完成")
        this.detail = "任务[$任务$,给予宠物]"
        this.insert = "任务[${1:任务},给予宠物]"
        this.docs = "该操作必须存在开着的对话"
    }
}

@Insert
export class CommandTaskGiveItem extends CommandTask {
    constructor() {
        super()
        this.name = "任务给予道具"
        this.tags.push("物品", "道具", "给予", "完成")
        this.detail = "任务[$任务$,给予道具]"
        this.insert = "任务[${1:任务},给予道具]"
        this.docs = ""
    }
}

@Insert
export class CommandTaskGive extends CommandTask {
    constructor() {
        super()
        this.name = "给予道具"
        this.tags.push("物品", "道具", "给予", "完成")
        this.detail = "任务[给予道具]"
        this.insert = "任务[给予道具]"
        this.docs = "该操作必须存在开着的对话"
    }
}

@Insert
export class CommandTaskRefresh extends CommandTask {
    constructor() {
        super()
        this.name = "刷新任务"
        this.detail = "任务[刷新任务]"
        this.insert = "任务[刷新任务]"
        this.docs = ""
    }
}

@Insert 
export class CommandDispatchTaskRefresh extends CommandTask {
    constructor() {
        super()
        this.name = "派遣刷新"
        this.tags.push("宠物")
        this.detail = "派遣[刷新任务]"
        this.insert = "派遣[刷新任务]"
        this.docs = ""
    }
}

@Insert 
export class CommandDispatchTask extends CommandTask {
    constructor() {
        super()
        this.name = "派遣"
        this.tags.push("宠物")
        this.detail = "派遣[派遣,$任务类型$,$难度$,$宠物$|$宠物$]"
        this.insert = "派遣[派遣,${1:类型},${2:难度},${3:宠物}${4:}]"
        this.docs = "任务类型枚举:\n1.青龙白色\n2.青龙橙色\n3.朱雀白色\n4.玄武橙色\n......"
    }
}